package com.chat.chatting.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * 上传图片用的工具类
 */
public class ImageUtils {

    //定义一个目标路径，即吧图片上传到的位置
    public static final String BASE_PATH = "D:\\data\\image\\";
    //定义访问图片的路径
    public static final String SERVER_PATH = "http://localhost:8080/image/";

    public static String upload(MultipartFile file) {
        //获取上传文件的名称
        String fileName = file.getOriginalFilename();
        String fileSuffix = fileName.substring(fileName.length() - 3);
        if (!"jpg".equals(fileSuffix) && !"png".equals(fileSuffix)) {
            return null;
        }
        //为了保障图片中服务器中名字的唯一性，用UUID来对fileName进行改写
        String uuid = UUIDUtil.generateUUID();
        //将生成的uuid和fileSuffix后缀进行拼接
        String newFileName = uuid + "." + fileSuffix;
        //创建一个文件实例
        File image = new File(BASE_PATH, newFileName);
        //将这个文件进行上传的操作
        try {
            file.transferTo(image);
        } catch (IOException e) {
            return null;
        }
        return newFileName;
    }
}
